/*
 * @Author: Laswell
 * @Date: 2021-08-25 15:25:58
 * @LastEditTime: 2021-08-30 16:47:01
 * @Description: g++ -o const const.cpp const_attach.cpp
 */

// const 定义常量 类型检测 防止修改 节省空间
// const修饰不可更改，且必须进行初始化


// 可以发现未被const修饰的变量不需要extern显式声明！
// const常量需要显式声明extern，并且需要做初始化！因为常量在定义后就不能被修改，所以定义时必须初始化


#include<iostream>
extern int ext;
extern const int ext2;
int main(int argc, char const *argv[])
{
    std::cout << (ext+10) << std::endl;
    std::cout << (ext2+10) << std::endl;
    return 0;
}


// 小结：如果const位于*的左侧，则const就是用来修饰指针所指向的变量，即指针指向为常量；
// 如果const位于*的右侧，const就是修饰指针本身，即指针本身是常量。

